#Python中的字符串用单引号(')或双引号(")括起来，同时使用反斜杠(\)转义特殊字符。
str = 'Runoob'

print(str)  # 输出 字符串
print(str[0:-1])  # 输出第一个到倒数第二个的所有字符
print(str[0])  # 输出字符串第一个字符
print(str[2:5])  # 输出从第三个开始到第五个的字符
print(str[2:])  # 输出从第三个开始的后的所有字符
print(str * 2)  # 输出字符串两次
print(str + "TEST")  # 连接字符串
print("=======================================================================")

#Python 使用反斜杠(\)转义特殊字符，如果你不想让反斜杠发生转义，可以在字符串前面添加一个 r，表示原始字符串：
print('Ru\noob')
print(r'Ru\noob')
print("=======================================================================")
str="ewrfdaf"
print(str[0])
#Python中的字符串不能改变。以下是错误的
# str[0]="f"
# print(str[0])

para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。\a
"""
print("================================================================")
#1.返回一个首字母大写的字符串
# 首字符会转换成大写，其余字符会转换成小写。
# 首字符如果是非字母，首字母不会转换成大写，其余字母会转换成小写
str = "this is string example FROM runoob....wow!!!"
print ("str.capitalize() : ", str.capitalize())
#2.返回一个指定的宽度 width 居中的字符串。
# 如果 width 小于字符串宽度直接返回字符串，否则使用 fillchar（默认是空格） 去填充。
#fillchar只能是单个字符
str = "[www.runoob.com]"
print ("str.center(40, '*') : ", str.center(40, '*'))
print ("str.center(4, '*') : ", str.center(4, '*'))
print("fasfsdf".count("f",0,10))
print("=========================================================")
str = "菜鸟教程";
str_utf8 = str.encode("UTF-8")
str_gbk = str.encode("GBK")

print(str)

print("UTF-8 编码：", str_utf8)
print("GBK 编码：", str_gbk)

print("UTF-8 解码：", str_utf8.decode('UTF-8','strict'))
print("GBK 解码：", str_gbk.decode('GBK','strict'))

# !/usr/bin/python3

str = "runoob2016"  # 字符串没有空格
print(str.isalnum())

str = "www.runoob.com"
print(str.isalnum())
str = "8888888this is string example....wow!!!8888888";
print( str.lstrip('8') );
print("===================================================================")
intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab)
print(trantab)
str = "this is string example....wow!!!"
print (str.translate(trantab))

str1 = "this is really a string example....wow!!!"
str2 = "is"

print (str1.rfind(str2))

print (str1.rfind(str2, 0, 10))
print (str1.rfind(str2, 20, 0))

print (str1.find(str2))
print (str1.find(str2, 0, 10))
print (str1.find(str2, 10, 0))
